const path = require('path');
const ip = require('ip');

module.exports = app => {
  const config = exports = {};

  config.static = {
    maxAge: 0 // maxAge 缓存，默认 1 年
  };

  config.development = {
    watchDirs: ['build'], // 指定监视的目录（包括子目录），当目录下的文件变化的时候自动重载应用，路径从项目根目录开始写
    ignoreDirs: ['app/web', 'public', 'config'] // 指定过滤的目录（包括子目录）
  };

  config.logview = {
    dir: path.join(app.baseDir, 'logs')
  };

  const localIP = ip.address();
  const domainWhiteList = ['http://271b0f3b.ngrok.io'];
  [7001].forEach(port => {
    domainWhiteList.push(`http://localhost:${port}`);
    domainWhiteList.push(`http://127.0.0.1:${port}`);
    domainWhiteList.push(`http://${localIP}:${port}`);
  });

  config.security = {
    domainWhiteList,
    useSession: true, // 默认为 false，当设置为 true 时，将会把 csrf token 保存到 Session 中
    cookieName: 'csrfToken', // Cookie 中的字段名，默认为 csrfToken
    sessionName: 'csrfToken', // Session 中的字段名，默认为 csrfToken
    headerName: 'x-csrf-token', // 通过 header 传递 CSRF token 的默认字段为 x-csrf-token
    ignoreJSON: true,
  };

  config.redis = {
    client: {
      port: 6379, // Redis port
      host: '127.0.0.1', // Redis host
      password: 'kq123456',
      db: 2,
    }
  };

  config.serverAddress = 'http://192.168.10.253:8084';

  return config;
};
